package zhongbo.java.air.dictionary.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import zhongbo.java.air.dictionary.model.enums.AircraftType;
import zhongbo.java.air.dictionary.model.enums.Status;

import javax.validation.constraints.NotBlank;
import java.sql.Date;

/**
 * 说明：
 *
 * @author 钟波dellNotebook
 * @since 2025年03月30日 星期日 19:33:03
 */
@ApiModel("飞机信息")
@TableName("air_aircraft")
@Data
public class AirCraft {
    @TableId(type = IdType.ASSIGN_UUID)
    @NotBlank
    private String id;//UUID 主键
    @ApiModelProperty("ICAO 24位地址码（唯一业务编号）")
    @NotBlank
    private String icaoCode;
    @NotBlank
    @ApiModelProperty("飞机注册号（如 B-1234）")
    @NotBlank
    private String registration;
    @ApiModelProperty("所属航空公司")
    @NotBlank
    private String airline;
    @ApiModelProperty("机型（枚举值示例：B737-800, A320-200）")
    private AircraftType aircraftType;
    @ApiModelProperty("状态（枚举值：ACTIVE-运营中, MAINTENANCE-维护中, RETIRED-已退役）")
    private Status status;

    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("更新时间")
    private Date updateTime;

    // todo navicat执行schema-mysql.sql中的sql,创建表
    // 根据表结构,创建对应的java实体,以及相关的增删改查的所有代码

    // 添加一个 setter 方法来处理 status 字段

}
